/*
 * @lc app=leetcode.cn id=13 lang=javascript
 *
 * [13] 罗马数字转整数
 */

// @lc code=start
/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function (s) {
  const map = new Map([
    ["I", 1],
    ["V", 5],
    ["X", 10],
    ["L", 50],
    ["C", 100],
    ["D", 500],
    ["M", 1000],
  ]);
  let res = map.get(s[0]);
  for (let i = 1; i < s.length; i++) {
    let cur = s[i];
    res += map.get(cur);
    if (s[i - 1] === "I" && (cur === "V" || cur === "X")) {
      res -= 2;
    }
    if (s[i - 1] === "X" && (cur === "L" || cur === "C")) {
      res -= 20;
    }
    if (s[i - 1] === "C" && (cur === "D" || cur === "M")) {
      res -= 200;
    }
  }
  return res;
};
// @lc code=end
